$(function(){
	/**
	 * 1.得到所有的错误信息,循环遍历之.调用一个方法来确认是否显示错误信息
	 */
	$(".labelError").each(function(){
		showError($(this));//遍历每个元素，使用每个元素来调用showError方法
	})
	/**
	 * 得到焦点，去除错误信息 
	 */
	$(".input").focus(function(){
		var labelID = $(this).attr("id")+"Error";
		$("#"+labelID).text("");
		showError($("#"+labelID));
	});
	/**
	 * 失去焦点 进行校验
	 */
	$(".input").blur(function(){
		var id = $(this).attr("id");
		var methodName = "validate"+id.substring(0,1).toUpperCase()+id.substring(1)+"()";
		eval(methodName);
	});
});
/*
 * 登陆名校验方法
 * 
 */
function validateLoginname(){
	/*
	 * 1.非空
	 * 2.长度校验
	 * 3.是否已注册
	 */
	var value = $("#loginname").val();
	var label = $("#loginnameError");
	if(!value){
		$(label).text("用户名不能为空！");
		showError(label);
		return false;
	}
	
	if(value.length<3||value.length>20){
		$(label).text("用户名长度必须3-20位");
		showError(label);
		return false;
	}
	
	$.ajax({
		url:"/goods/UserServlet",
		data:{method:"ajaxValidateLoginname",loginname:value},
		type:"post",
		datatype:"json",
		async:false,
		cache:false,
		success:function(result){
			if(!eval(result)){
				$(label).text("用户名已被注册！");
				showError(label);
				return false;
			}
		}
	});
	
	return true;	
}
/*
 * 密码校验方法
 * 
 */
function validateLoginpass(){
	/*
	 * 1.非空
	 * 2.长度校验
	 */
	var value = $("#loginpass").val();
	var label = $("#loginpassError");
	if(!value){
		$(label).text("密码不能为空！");
		showError(label);
		return false;
	}
	
	if(value.length<3||value.length>20){
		$(label).text("密码长度必须3-20位");
		showError(label);
		return false;
	}
	
	return true;	
}
/*
 * 确认密码校验方法
 * 
 */
function validateReloginpass(){
	/*
	 * 1.非空
	 * 2.二次输入是否一致
	 */
	var value = $("#reloginpass").val();
	var label = $("#reloginpassError");
	if(!value){
		$(label).text("确认密码不能为空！");
		showError(label);
		return false;
	}
	
	if(value!=$("#loginpass").val()){
		$(label).text("二次密码输入不一致！");
		showError(label);
		return false;
	}
	
	return true;
}
/*
 * Email校验方法
 * 
 */
function validateEmail(){
	/*
	 * 1.非空
	 * 2.email格式校验
	 */
	var value = $("#email").val();
	var label = $("#emailError");
	if(!value){
		$(label).text("Email不能为空！");
		showError(label);
		return false;
	}
	
	if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(value)){
		$(label).text("Email格式不正确！");
		showError(label);
		return false;
	}
	
	$.ajax({
		url:"/goods/UserServlet",
		data:{method:"ajaxValidateEmail",email:value},
		type:"post",
		datatype:"json",
		async:false,
		cache:false,
		success:function(result){
			if(!eval(result)){
				$(label).text("Email已经存在！");
				showError(label);
				return false;
			}
		}
	});
	
	return true;	
}
/*
 * 验证码校验方法
 * 
 */
function validateVerifyCode(){
	/*
	 * 1.非空
	 * 2.长度校验
	 */
	var value = $("#verifyCode").val();
	var label = $("#verifyCodeError");
	if(!value){
		$(label).text("验证码不能为空！");
		showError(label);
		return false;
	}
	
	if(value.length!=4){
		$(label).text("验证码不正确！");
		showError(label);
		return false;
	}
	
	$.ajax({
		url:"/goods/UserServlet",
		data:{method:"ajaxValidateVerifyCode",verifyCode:value},
		type:"post",
		datatype:"json",
		async:false,
		cache:false,
		success:function(result){
			if(!eval(result)){
				$(label).text("验证码输入错误！");
				showError(label);
				return false;
			}
		}
	});
	
	return true;
}
/*
 * 表单提交时的校验
 */
$("#registForm").submit(function(){
	var boolFlag = true;
	
	if(!validateLoginname()){
		boolFlag = false;
	};
	if(!validateLoginpass()){
		boolFlag = false;
	};
	if(!validateReloginpass()){
		boolFlag = false;
	};
	if(!validateEmail()){
		boolFlag = false;
	};
	if(!validateVerifyCode()){
		boolFlag = false;
	};
	return boolFlag;
});
/**
 * 判断当前元素是否存在内容，如果存在显示
 * @param ele
 */
function showError(ele){
	var text = ele.text();
	if(!text){
		ele.css("display","none");//隐藏元素
	}else{
		ele.css("display","");
	}
}

/*
 * 更换验证码图片
 */
function _change(){
	$("#vCode").attr("src","/goods/VerifyCodeServlet?a="+ new Date().getTime());
}
